package com.zhiwen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhiwen.domain.dto.ShareDTO;
import com.zhiwen.domain.entity.ShareRecord;
import com.zhiwen.domain.vo.ShareVO;

import jakarta.servlet.http.HttpServletRequest;

/**
 * 分享服务接口
 */
public interface ShareService extends IService<ShareRecord> {

    /**
     * 创建分享
     *
     * @param shareDTO 分享信息
     * @param request HTTP请求
     * @return 分享视图对象
     */
    ShareVO createShare(ShareDTO shareDTO, HttpServletRequest request);

    /**
     * 获取分享详情
     *
     * @param id 分享记录ID
     * @return 分享视图对象
     */
    ShareVO getShareDetail(Long id);

    /**
     * 获取分享链接
     *
     * @param shareDTO 分享信息
     * @return 分享链接
     */
    String generateShareLink(ShareDTO shareDTO);
}
